package com.gdust.spzx.common.anno;

import com.gdust.spzx.common.config.UserWebMvcConfiguration;
import com.gdust.spzx.common.interceptor.UserLoginAuthInterceptor;
import org.springframework.context.annotation.Import;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * ClassName: EnableUserLoginAuthInterceptor
 * Package: com.gdust.spzx.common.anno
 * Description: 自定义注解，用于启用用户登录认证拦截器配置类
 *
 * 功能：
 * 1. 通过 @Import 注解引入拦截器类和拦截器配置类。
 * 2. 使用此注解的类会自动加载指定的拦截器和配置。
 *
 * 使用场景：
 * 在需要使用用户登录认证功能的模块上标注此注解，即可启用相关功能。
 *
 * @Author syun
 * @Create 2024/12/27 10:34
 * @Version 1.0
 */
@Retention(value = RetentionPolicy.RUNTIME) // 注解的保留策略，RUNTIME 表示在运行时可用
@Target(value = ElementType.TYPE) // 注解的作用目标，TYPE 表示可标注在类、接口、枚举上
@Import(value = {UserLoginAuthInterceptor.class, UserWebMvcConfiguration.class}) // 导入相关拦截器和配置类
public @interface EnableUserLoginAuthInterceptor {
}
